<?php
include_once 'AutoloadGerenciadores.php';

class GerenciadorDaDivisaoDeEnsino{
	public function __construct(){
	}
		
	public function cadastraCoordenadores(Pessoa $coordenador,Turma $turma){
		__autoload("RepositorioCoordenadores");
		RepositorioCoordenadores::adicionaCoordenador($coordenador, $turma);
	}
	
	public function alteraCoordenador(Coordenador $coordenador, Turma $turma, Curso $curso){
		__autoload("RepositorioCoordenadores");
		RepositorioCoordenadores::alteraCoordenador($coordenador, $turma, $curso);
	}
	
	public function exibeTabelaCoordenadores(){
		__autoload("RepositorioCoordenadores");
		RepositorioCoordenadores::getTabelaCoordenadores();
	}

	
	public function deletaCoordenador($idCoordenador){
		__autoload("RepositorioCoordenadores");
		RepositorioCoordenadores::deletaAluno($idCoordenador);
	}
	
	public function cadastraCurso(Curso $curso){
		__autoload("RepositorioCurso");
		RepositorioCurso::adicionaCurso($curso);
	}
	
	public function exibeTabelaCurso(){
		__autoload("RepositorioCurso");
		return RepositorioCurso::getTabelaCurso();
	}
	
	public function alteraCurso(Curso $curso){
		__autoload("RepositorioCurso");
		RepositorioCurso::atualizaCurso($curso);
	}
	
	public function deletaCurso(Curso $curso){
		__autoload("RepositorioCurso");
		RepositorioCurso::deletaCurso($curso);
	}
	
	public function criaDisciplina(Disciplina $disciplina){
		__autoload("RepositorioDisciplina");
		RepositorioDisciplina::adicionaDisciplina($disciplina);
		return true;
	}
	
	public function exibeTabelaDisciplina(Curso $curso){
		__autoload("RepositorioDisciplina");
		return RepositorioDisciplina::getTabelaDisciplinaPorCurso($curso);
	}
	
	public function exibeTodasDisciplinas(){
		__autoload("RepositorioDisciplina");
		return RepositorioDisciplina::getTabelaDisciplina();
	}
	
	public function alteraDisciplina(Disciplina $disciplina){
		__autoload("RepositorioDisciplina");
		RepositorioDisciplina::alteraDisciplina($disciplina);
	}
	
	public function deletaDisciplina($idDisciplina){
		__autoload("RepositorioDisciplina");
		RepositorioDisciplina::deletaDisciplina($idDisciplina);
	}
	
	public function exibeTabelaInstrutor(Turma $turma, Disciplina $disciplina){
		__autoload("RepositorioInstrutor");
		return RepositorioInstrutor::listaInstrutorPlanoDeAula($turma,$disciplina);
	}
	
	public function alteraInstrutor(InscricaoInstrutores $inscricao){
		__autoload("RepositorioInstrutor");
		RepositorioInstrutor::alteraInstrutor($inscricao);
	}
	
	public function deletaInstrutor($idInstrutor){
		__autoload("RepositorioInstrutor");
		RepositorioInstrutor::deletaInstrutor($idInstrutor);
	}
	
	public function visualizaPlanosDeAula(Turma $turma, $data){
		__autoload("RepositorioPlanoDeAula");
		RepositorioPlanoDeAula::getPlanoDeAula($turma, $data);
	}
	
	public function buscaPessoa($campo, $busca){
		__autoload("RepositorioDePessoas");
		return RepositorioDePessoas::buscaPessoa($campo, $busca);
		
	}
	
	public function criaTurma(Turma $turma){
		__autoload("RepositorioTurma");
		RepositorioTurma::adicionaTurma($turma);
	}
	
	public function visualizaTabelaDeTurmas(Curso $curso){
		__autoload("RepositorioTurma");
		return RepositorioTurma::getTabelaTurma($curso);
	}
	
	public function visualizaTodasTurmas(Curso $curso){
		__autoload("RepositorioTurma");
		return RepositorioTurma::getTodasTurmas($curso);
	}
	
	public function adicionaTurma(Turma $turma){
		__autoload("RepositorioTurma");
		RepositorioTurma::adicionaTurma($turma);
	}
	
	public function alteraTurma(Turma $turma){
		__autoload("RepositorioTurma");
		RepositorioTurma::atualizaTurma($turma);
	}
	
	public function deletaTurma(Turma $turma){
		__autoload("RepositorioTurma");
		RepositorioTurma::deletaTurma($turma);
	}
	
	public function visualizaTabelaDeAlunos(){
		__autoload("RepositorioAlunos");
		RepositorioAlunos::getTabelaAlunos();
	}
	
	public function excluiAluno($idAluno){
		__autoload("RepositorioAlunos");
		RepositorioAlunos::deletaAluno($idAluno);
	}
	
	public function publicaNoticia(Noticias $noticia){
		__autoload("RepositorioNoticias");
		RepositorioNoticias::adicionaNoticia($noticia);
	}
	
	public function criaPladis(PlanoDeDisciplina $pladis){
		__autoload("RepositorioPlanoDeDisciplina");
		RepositorioPlanoDeDisciplina::criaPladis($pladis);
	}
	
	public function exibePladis(Disciplina $disciplina){
		__autoload("RepositorioPlanoDeDisciplina");
		return RepositorioPlanoDeDisciplina::getPladis($disciplina);
	}
	
	public function alteraPladis(PlanoDeDisciplina $pladis){
		__autoload("RepositorioPlanoDeDisciplina");
		RepositorioPlanoDeDisciplina::atualizaPladis($pladis);
	}
	
	public function deletaPladis($idPladis){
		__autoload("RepositorioPlanoDeDisciplina");
		RepositorioPlanoDeDisciplina::deletaPladis($idPladis);
	}
	
	public function exibeInstrutoresConteudistas(Disciplina $disciplina){
		__autoload("RepositorioInstrutor");
		return RepositorioInstrutor::listaInstrutorConteudista($disciplina);
	}
	
	public function lancaInstrutor(Pessoa $instrutor,Disciplina $disciplina,Turma $turma, $tipoInstrutor){
		__autoload("RepositorioInstrutor");
		RepositorioInstrutor::lancaInstrutor($instrutor, $disciplina, $turma, $tipoInstrutor);
	}
	
	public function lancaAluno(Pessoa $aluno, Turma $turma){
		__autoload("RepositorioAlunos");
		RepositorioAlunos::inserirCadastro($aluno, $turma);
	}
	
	
	public function excluiPessoa(Pessoa $pessoa){
		__autoload("RepositorioDePessoas");
		RepositorioDePessoas::deletaPessoa($pessoa->getIdPessoa());
	}
	
	public function imprimeResultadoFinal(Curso $curso){
		__autoload("RepositorioMapaDeNotas");
		
		$tabela = RepositorioMapaDeNotas::imprimeMapaDenotas($curso);
		
		return $tabela;
	}
}
?>